home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
United Public Domain Gold 2
/
United Public Domain Gold 2.iso
/
utilities
/
pu013.dms
/
pu013.adf
/
not_mine
/
gree2.S
< prev
next >
Wrap
Text File
|
2000-01-01
|
6KB
|
290 lines
beg:
; ----- graphics.library -----
scrollraster= -396
setapen= -342
text= -60
setfont= -66
closefont= -78
move= -240
draw= -246
initbitmap= -390
initrastport= -198
clearscreen= -48
; ----- exec.library -----
allocabs= -204
openlibrary= -408
closelibrary= -414
forbid= -132
permit= -138
; ----- diskfont.library -----
openfont= -30
execbase= $04
move.l $4,execbase
move.l strt-nd,d0
move.l d0,d6
move.l #$02,d1
jsr -198(a6)
tst.l d0
bne cont
rts
cont:
move.l strt(pc),a0
move.l d0,a1
move.l a0,a4
loop:
move.b (a0)+,(a1)+
dbf d6,loop
jsr (a4)
rts
strt:
movem.l d0-d7/a0-a6,-(a7)
; ---- open graphics.library ----
bchg #1,$bfe001
move.l execbase,a6
lea gfxname,a1
jsr openlibrary(a6)
move.l d0,gfxbase
jsr forbid(a6) ; forbid multitasking
move.w #$0020,$dff096 ; stop sprite DMA
bsr.L setupcopper ; copperliste setzen
move.l gfxbase,a0 ; copperliste einschalten
add.l #$32,a0
move.w #$0080,$dff096
move.l (a0),oldcopper
move.l #newcopper,(a0)
move.w #$8080,$dff096
move.l gfxbase,a6 ; bitmapstruktur
lea bitmap,a0 ; initialisieren
move.l #$02,d0
move.l #352,d1
move.l #200,d2
jsr initbitmap(a6)
move.l #$50000,plane1
move.l #$52260,plane1+4
lea rastport,a1
jsr initrastport(a6)
move.l #bitmap,r_bitmap
lea rastport,a1 ; Bildschirm loeschen
jsr clearscreen(a6)
lea rastport,a1
move.l #$01,d0 ; zeichenfarbe setzen
jsr setapen(a6)
move.l #$0a,d7 ; text ausgeben
lea texttab,a5
textloop1:
lea rastport,a1
move.l (a5)+,d0
move.l (a5)+,d1
jsr move(a6)
lea rastport,a1
move.l (a5)+,d0
move.l (a5)+,a0
jsr text(a6)
dbra d7,textloop1
move.w #$4000,$dff09a ; neuen irq einschalten
move.l $6c,oldirq
move.l #newirq,$6c
move.w #$c000,$dff09a
wait:
btst #6,$bfe001 ; linke maustaste ???
bne.s wait
move.w #$4000,$dff09a ; auf alten irq zurueck
move.l oldirq,$6c
move.w #$c000,$dff09a
move.l execbase,a6
move.l gfxbase,a1 ; graphic.lib schliessen
jsr closelibrary(a6)
move.l gfxbase,a0 ; alte copperliste einschalten
add.l #$32,a0
move.w #$0080,$dff096
move.l oldcopper,(a0)
move.w #$8080,$dff096
move.l execbase,a6 ; multitasking erlauben
jsr permit(a6)
move.w #$8020,$dff096 ; sprite DMA einschalten
movem.l (a7)+,d0-d7/a0-a6
error:
rts
newirq:
movem.l d0-d7/a0-a6,-(sp)
bsr.L setupcopper ; goldene streifen bewegen
lea waitab+6,a0
move.l a0,a1
add.l ptr1,a0
add.l ptr2,a1
lea goldcol,a2
move.l #22,d2
addloop2:
move.w (a2),(a0)
move.w (a2)+,(a1)
add.l #$08,a0
add.l #$08,a1
dbra d2,addloop2
add.l #$08,ptr1
sub.l #$08,ptr2
cmp.l #$00,ptr2
bne.s exity
move.l #24,ptr1
move.l #696,ptr2
exity:
move.l gfxbase,a6 ; scrolling
lea rastport,a1
move.l #$0,d0
clr.l d1
move.l #0,d2
move.l #32,d3
move.l #351,d4
move.l #42,d5
jsr scrollraster(a6)
lea rastport,a1 ; zweites scrolling
move.l #$02,d0
clr.l d1
move.l #0,d2
move.l #160,d3
move.l #351,d4
move.l #168,d5
jsr scrollraster(a6)
sub.b #08,rows ; schon 1 zeichen gescrollt
bne.s continue1
move.b #08,rows
move.l gfxbase,a6
lea rastport,a1
move.l #$02,d0
jsr setapen(a6)
lea rastport,a1
move.l #320,d0
move.l #38,d1
bsr.s text1
lea rastport,a1
move.l #320,d0
move.l #167,d1
bsr.s text1
add.l #$01,c_ptr
cmp.l #ende,c_ptr
bne.s continue1
move.l #scrollmsg,c_ptr
continue1:
movem.l (sp)+,d0-d7/a0-a6
dc.w $4ef9
oldirq:
dc.l 0
text1:
jsr move(a6) ; naechstes zeichen aus scroll
lea rastport,a1 ; text ausgeben
move.l c_ptr,a0
move.l #1,d0
jsr text(a6)
rts
setupcopper:
lea waitab,a0
move.l #111,d0
move.w #$5809,d1
addloop1:
move.w d1,(a0)+ ; WAIT
move.w #$fffe,(a0)+ ; alle bits beachten
move.w #$0182,(a0)+ ; Farbe 1
move.w #$0000,(a0)+ ; schwarz
add.w #$0100,d1 ; naechste rasterzeile
dbra d0,addloop1
rts
goldcol:
dc.w $420,$430,$440,$450,$460,$470,$a80,$b90,$ca0,$db1,$ec2,$fd3
dc.w $ec2,$db1,$ca0,$b90,$a80,$970,$860,$750,$640,$530,$420
newcopper:
dc.w $0100,$0000,$0182,$0fff
dc.w $0182,$0fff,$0186,$0fff
dc.w $008e,$2c81,$0090,$f4c1
dc.w $0092,$0038,$0094,$00d0
dc.w $0108,$0004,$010a,$0004
dc.w $0102,$0000,$0104,$0000
dc.w $0100,$2200,$00e0,$0005
dc.w $00e2,$0000,$00e4,$0005
dc.w $00e6,$2260
waitab:
blk.w 448,0
even
scrollmsg:
DC.B "REPLICA COPY CREW PROUDLY PRESENTS SOME NEW STUFF FOR YOU !!"
DC.B " SOME GREETINGS GO TO OUR FRIENDS AND CONTACTS :R & W SOFT "
DC.B "UNITED FREAKS INTERNATIONAL B&B TIGERCREW DE VEGT KSCS "
DC.B " FAC TND HQC (NICE INTRO !!) BAMIGA SECTOR ONE THE KENT "
DC.B "TEAM AMIGO (PLEASE WRITE BACK !!) HI JOHN (HOW ABOUT THIS)"
DC.B " AND TO INTRUDER (GET IN CONTACT WITH ME !!!) ONLY ONE ANTI-"
DC.B "GREETING !!! TO THAT NOT SO FRESH 'GEE' IF YOU WANT SOME CU"
DC.B "STOMERS ,KEEP YOUR PROMISES !!!! (BIG MOUTH !!!!!!!!!!!!!"
DC.B " "
DC.B " IF YOU LIKE TO GET IN TOUCH WITH ME ,WRITE TO ............"
DC.B "GINO WIEMANN JENSEMAHEERD 151 9736 CK GRONINGEN (HOLLAND)"
ende:
dc.w 0
even
it1:
DC.B " REPLICA COPY CREW "
it2:
DC.B " Present in 1987 "
it3:
DC.B " SOME REAL NEW STUFF FOR YOU "
it4:
dc.b "AS ALWAYS SOME GREETINGS TO OUR FRIENDS "
it5:
dc.b "AND SOME GROUPS : R&W-SOFT DR.WHO FAC "
it6:
dc.b "DE VEGT TIGER-CREW KSCS BS1 TKT UFI"
it7:
dc.b "AMIGO BART&BARON BWB BOBO TRIAD FP"
it8:
dc.b "HEADBANGER TND ANC BST HOTLINE CC"
it9:
dc.b "NO ONE THE BLOCKHEADS AND TO EVERYONE "
it10:
dc.b " A MERRY X-MAS AND A HAPPY NEW YEAR "
it11:
dc.b " LOOK OUT FOR OTHER STUFF FROM US "
it12:
dc.b
it13:
dc.b
even
gfxbase:
dc.l 0
bitmap:
blk.w 4,0
plane1:
blk.l 10,0
rastport:
blk.l 1,0
r_bitmap:
blk.l 26,0
oldcopper:
dc.l 0
gfxname:
dc.b "graphics.library",0
rows:
dc.b 2
even
c_ptr:
dc.l scrollmsg
ptr1:
dc.l 24
ptr2:
dc.l 696
texttab:
dc.l 0,58,it2-it1,it1,0,66,it3-it2,it2,0,76,it4-it3,it3
dc.l 0,86,it5-it4,it4,0,94,it6-it5,it5,0,102,it7-it6,it6
dc.l 0,110,it8-it7,it7,0,118,it9-it8,it8,0,126,it10-it9
dc.l it9,0,134,it11-it10,it10,0,142,it12-it11
dc.l it11,0,150,it13-it12
nd: